

package SSF.Net;

import com.renesys.raceway.DML.*;

/**
 * Generic interface for all classes implementing
 * DML-configurable IP packet queues.
 */
public interface packetQueue {
  /** enqueue() should return true if a packet is successfully enqueued,
   *  and should return false if the queue rejects the packet.
   */
  public boolean enqueue(SSF.OS.ProtocolMessage msg);

  /** Method called by SSF.Net.NIC during model configuration phase
   *  if the attribute <TT>interface.queue</TT> is present.
   *  Required attributes:
   *<PRE>interface [
   *    ...
   *     queue [
   *       use "classname"
   *
   *       ... any user-defined queue attributes here
   *     ]
   *   ]
   *</PRE>
   */
  public void config(SSF.Net.NIC nic, Configuration cfg);

  /** Method called by SSF.Net.NIC during model initialization phase.
   */
  public void init();
}

/*=                                                                      =*/
/*=  Copyright (c) 1997--2000  SSF Research Network                      =*/
/*=                                                                      =*/
/*=  SSFNet is open source software, distributed under the GNU General   =*/
/*=  Public License.  See the file COPYING in the 'doc' subdirectory of  =*/
/*=  the SSFNet distribution, or http://www.fsf.org/copyleft/gpl.html    =*/
/*=                                                                      =*/
